home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 4 / CU Amiga Magazine's Super CD-ROM 04 (1996)(EMAP Images)(GB)(Track 1 of 3)[!][issue 1996-11].iso / magazine / psion / apps2 / biostuff.lzx / bio.opl next >
Text File  |  1996-09-19  |  1KB  |  71 lines

  1. PROC bio:
  2. LOCAL curd&,min&,max&,dtf&,dob&,ds1970&,day&
  3. LOCAL phys%,emot%,inte%,yr%,mo%,dy%,hr%,mn%,sc%,yrday%
  4. LOCAL name$(18)
  5. LOCAL nod
  6. name$="???????"
  7. curd&=DAYS(DAY,MONTH,YEAR)
  8. ds1970&=DAYS(1,1,1970)
  9. dtf&=curd&
  10. dob&=DAYS(D,M,YYYY)
  11. min&=0
  12. max&=DAYS(31,12,2049)
  13. dINIT "Biorhythm Calculator"
  14. dEDIT name$,"Name:",18
  15. dDATE dob&,"Date of birth:",min&,max&
  16. dDATE dtf&,"Calculate for:",min&,max&
  17. IF DIALOG
  18.     day&=dtf&
  19.     day&=(day&-ds1970&)*24*3600
  20.     SECSTODATE day&,yr%,mo%,dy%,hr%,mn%,sc%,yrday%
  21.     nod=FLT(dtf&-dob&)
  22.     phys%=calc%:(nod/23)
  23.     emot%=calc%:(nod/28)
  24.     inte%=calc%:(nod/33)
  25.     graph:(phys%,emot%,inte%,name$,yr%,mo%,dy%)
  26. ENDIF
  27. endp
  28.  
  29. proc calc%:(modd3)
  30. RETURN INT(((SIN(((modd3)-INT(modd3))*2*PI)+1)*7)+1)
  31. endp
  32.  
  33. proc graph:(phys%,emot%,inte%,name$,yr%,mo%,dy%)
  34. LOCAL g%
  35. DO
  36.     gGMODE 0
  37.     gSTYLE 0
  38.     gAT 0,0
  39.     gBORDER $201,240,80
  40.     gAT 10,25
  41.     gPRINT chr$(254)+"Physical"
  42.     gAT 120,15
  43.     gFILL (phys%*7),10,0
  44.     gAT 10,40
  45.     gPRINT chr$(254)+"Emotional"
  46.     gAT 120,30
  47.     gFILL (emot%*7),10,0
  48.     gAT 10,55
  49.     gPRINT chr$(254)+"Intellectual"
  50.     gAT 120,45
  51.     gFILL (inte%*7),10,0
  52.     gAT 15,65
  53.     gSTYLE 4
  54.     gPRINT dy%;"/";mo%;"/";yr%
  55.     gAT 2,10
  56.     gSTYLE 17
  57.     gPRINTB "Biorhythm for "+name$,230,3
  58.     gAT 117,53
  59.     gLINEBY 0,5
  60.     gLINEBY 111,0
  61.     gLINEBY -1,-5
  62.     gAT 117,70
  63.     gPRINT "LOW"
  64.     gAT 200,70
  65.     gPRINT "HIGH"
  66.     BUSY "ENTER to Exit"
  67.     g%=GET
  68. UNTIL g%=13
  69. BUSY OFF
  70. ENDP
  71.